1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.purple.conversation; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.glist; 34 import derelict.glib.ghash; 35 import derelict.purple.connection; 36 import derelict.purple.account; 37 import derelict.purple.buddyicon; 38 import core.stdc.time; 39 import core.stdc.config; 40 41 extern (C): 42 43 alias _PurpleConversationUiOps PurpleConversationUiOps; 44 alias _PurpleConversation PurpleConversation; 45 alias _PurpleConvIm PurpleConvIm; 46 alias _PurpleConvChat PurpleConvChat; 47 alias _PurpleConvChatBuddy PurpleConvChatBuddy; 48 alias _PurpleConvMessage PurpleConvMessage; 49 alias _Anonymous_0 PurpleConversationType; 50 alias _Anonymous_1 PurpleConvUpdateType; 51 alias _Anonymous_2 PurpleTypingState; 52 alias _Anonymous_3 PurpleMessageFlags; 53 alias _Anonymous_4 PurpleConvChatBuddyFlags; 54 55 enum _Anonymous_0 56 { 57 PURPLE_CONV_TYPE_UNKNOWN = 0, 58 PURPLE_CONV_TYPE_IM = 1, 59 PURPLE_CONV_TYPE_CHAT = 2, 60 PURPLE_CONV_TYPE_MISC = 3, 61 PURPLE_CONV_TYPE_ANY = 4 62 } 63 64 enum _Anonymous_1 65 { 66 PURPLE_CONV_UPDATE_ADD = 0, 67 PURPLE_CONV_UPDATE_REMOVE = 1, 68 PURPLE_CONV_UPDATE_ACCOUNT = 2, 69 PURPLE_CONV_UPDATE_TYPING = 3, 70 PURPLE_CONV_UPDATE_UNSEEN = 4, 71 PURPLE_CONV_UPDATE_LOGGING = 5, 72 PURPLE_CONV_UPDATE_TOPIC = 6, 73 PURPLE_CONV_ACCOUNT_ONLINE = 7, 74 PURPLE_CONV_ACCOUNT_OFFLINE = 8, 75 PURPLE_CONV_UPDATE_AWAY = 9, 76 PURPLE_CONV_UPDATE_ICON = 10, 77 PURPLE_CONV_UPDATE_TITLE = 11, 78 PURPLE_CONV_UPDATE_CHATLEFT = 12, 79 PURPLE_CONV_UPDATE_FEATURES = 13 80 } 81 82 enum _Anonymous_2 83 { 84 PURPLE_NOT_TYPING = 0, 85 PURPLE_TYPING = 1, 86 PURPLE_TYPED = 2 87 } 88 89 enum _Anonymous_3 90 { 91 PURPLE_MESSAGE_SEND = 1, 92 PURPLE_MESSAGE_RECV = 2, 93 PURPLE_MESSAGE_SYSTEM = 4, 94 PURPLE_MESSAGE_AUTO_RESP = 8, 95 PURPLE_MESSAGE_ACTIVE_ONLY = 16, 96 PURPLE_MESSAGE_NICK = 32, 97 PURPLE_MESSAGE_NO_LOG = 64, 98 PURPLE_MESSAGE_WHISPER = 128, 99 PURPLE_MESSAGE_ERROR = 512, 100 PURPLE_MESSAGE_DELAYED = 1024, 101 PURPLE_MESSAGE_RAW = 2048, 102 PURPLE_MESSAGE_IMAGES = 4096, 103 PURPLE_MESSAGE_NOTIFY = 8192, 104 PURPLE_MESSAGE_NO_LINKIFY = 16384, 105 PURPLE_MESSAGE_INVISIBLE = 32768 106 } 107 108 enum _Anonymous_4 109 { 110 PURPLE_CBFLAGS_NONE = 0, 111 PURPLE_CBFLAGS_VOICE = 1, 112 PURPLE_CBFLAGS_HALFOP = 2, 113 PURPLE_CBFLAGS_OP = 4, 114 PURPLE_CBFLAGS_FOUNDER = 8, 115 PURPLE_CBFLAGS_TYPING = 16, 116 PURPLE_CBFLAGS_AWAY = 32 117 } 118 119 struct _PurpleConversationUiOps 120 { 121 void function (PurpleConversation*) create_conversation; 122 void function (PurpleConversation*) destroy_conversation; 123 void function (PurpleConversation*, const(char)*, const(char)*, PurpleMessageFlags, time_t) write_chat; 124 void function (PurpleConversation*, const(char)*, const(char)*, PurpleMessageFlags, time_t) write_im; 125 void function (PurpleConversation*, const(char)*, const(char)*, const(char)*, PurpleMessageFlags, time_t) write_conv; 126 void function (PurpleConversation*, GList*, gboolean) chat_add_users; 127 void function (PurpleConversation*, const(char)*, const(char)*, const(char)*) chat_rename_user; 128 void function (PurpleConversation*, GList*) chat_remove_users; 129 void function (PurpleConversation*, const(char)*) chat_update_user; 130 void function (PurpleConversation*) present; 131 gboolean function (PurpleConversation*) has_focus; 132 gboolean function (PurpleConversation*, const(char)*, gboolean) custom_smiley_add; 133 void function (PurpleConversation*, const(char)*, const(guchar)*, gsize) custom_smiley_write; 134 void function (PurpleConversation*, const(char)*) custom_smiley_close; 135 void function (PurpleConversation*, const(char)*) send_confirm; 136 void function () _purple_reserved1; 137 void function () _purple_reserved2; 138 void function () _purple_reserved3; 139 void function () _purple_reserved4; 140 } 141 142 struct _PurpleConvIm 143 { 144 PurpleConversation* conv; 145 PurpleTypingState typing_state; 146 guint typing_timeout; 147 time_t type_again; 148 guint send_typed_timeout; 149 PurpleBuddyIcon* icon; 150 } 151 152 struct _PurpleConvChat 153 { 154 PurpleConversation* conv; 155 GList* in_room; 156 GList* ignored; 157 char* who; 158 char* topic; 159 int id; 160 char* nick; 161 gboolean left; 162 GHashTable* users; 163 } 164 165 struct _PurpleConvChatBuddy 166 { 167 char* name; 168 char* alias_; 169 char* alias_key; 170 gboolean buddy; 171 PurpleConvChatBuddyFlags flags; 172 GHashTable* attributes; 173 gpointer ui_data; 174 } 175 176 struct _PurpleConvMessage 177 { 178 char* who; 179 char* what; 180 PurpleMessageFlags flags; 181 time_t when; 182 PurpleConversation* conv; 183 char* alias_; 184 } 185 186 struct _PurpleConversation 187 { 188 PurpleConversationType type; 189 PurpleAccount* account; 190 char* name; 191 char* title; 192 gboolean logging; 193 GList* logs; 194 union 195 { 196 PurpleConvIm* im; 197 PurpleConvChat* chat; 198 void* misc; 199 } 200 PurpleConversationUiOps* ui_ops; 201 void* ui_data; 202 GHashTable* data; 203 PurpleConnectionFlags features; 204 GList* message_history; 205 } 206 207 version(Derelict_Link_Static) 208 { 209 extern( C ) nothrow 210 { 211 PurpleConversation* purple_conversation_new(PurpleConversationType type, PurpleAccount* account, const(char)* name); 212 void purple_conversation_destroy(PurpleConversation* conv); 213 void purple_conversation_present(PurpleConversation* conv); 214 PurpleConversationType purple_conversation_get_type(const(PurpleConversation)* conv); 215 void purple_conversation_set_ui_ops(PurpleConversation* conv, PurpleConversationUiOps* ops); 216 void purple_conversations_set_ui_ops(PurpleConversationUiOps* ops); 217 PurpleConversationUiOps* purple_conversation_get_ui_ops(const(PurpleConversation)* conv); 218 void purple_conversation_set_account(PurpleConversation* conv, PurpleAccount* account); 219 PurpleAccount* purple_conversation_get_account(const(PurpleConversation)* conv); 220 PurpleConnection* purple_conversation_get_gc(const(PurpleConversation)* conv); 221 void purple_conversation_set_title(PurpleConversation* conv, const(char)* title); 222 const(char)* purple_conversation_get_title(const(PurpleConversation)* conv); 223 void purple_conversation_autoset_title(PurpleConversation* conv); 224 void purple_conversation_set_name(PurpleConversation* conv, const(char)* name); 225 const(char)* purple_conversation_get_name(const(PurpleConversation)* conv); 226 const(char)* purple_conv_chat_cb_get_attribute(PurpleConvChatBuddy* cb, const(char)* key); 227 GList* purple_conv_chat_cb_get_attribute_keys(PurpleConvChatBuddy* cb); 228 void purple_conv_chat_cb_set_attribute(PurpleConvChat* chat, PurpleConvChatBuddy* cb, const(char)* key, const(char)* value); 229 void purple_conv_chat_cb_set_attributes(PurpleConvChat* chat, PurpleConvChatBuddy* cb, GList* keys, GList* values); 230 void purple_conversation_set_logging(PurpleConversation* conv, gboolean log); 231 gboolean purple_conversation_is_logging(const(PurpleConversation)* conv); 232 void purple_conversation_close_logs(PurpleConversation* conv); 233 PurpleConvIm* purple_conversation_get_im_data(const(PurpleConversation)* conv); 234 PurpleConvChat* purple_conversation_get_chat_data(const(PurpleConversation)* conv); 235 void purple_conversation_set_data(PurpleConversation* conv, const(char)* key, gpointer data); 236 gpointer purple_conversation_get_data(PurpleConversation* conv, const(char)* key); 237 GList* purple_get_conversations(); 238 GList* purple_get_ims(); 239 GList* purple_get_chats(); 240 PurpleConversation* purple_find_conversation_with_account(PurpleConversationType type, const(char)* name, const(PurpleAccount)* account); 241 void purple_conversation_write(PurpleConversation* conv, const(char)* who, const(char)* message, PurpleMessageFlags flags, time_t mtime); 242 void purple_conversation_set_features(PurpleConversation* conv, PurpleConnectionFlags features); 243 PurpleConnectionFlags purple_conversation_get_features(PurpleConversation* conv); 244 gboolean purple_conversation_has_focus(PurpleConversation* conv); 245 void purple_conversation_update(PurpleConversation* conv, PurpleConvUpdateType type); 246 void purple_conversation_foreach(void function (PurpleConversation*) func); 247 GList* purple_conversation_get_message_history(PurpleConversation* conv); 248 void purple_conversation_clear_message_history(PurpleConversation* conv); 249 const(char)* purple_conversation_message_get_sender(PurpleConvMessage* msg); 250 const(char)* purple_conversation_message_get_message(PurpleConvMessage* msg); 251 PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage* msg); 252 time_t purple_conversation_message_get_timestamp(PurpleConvMessage* msg); 253 PurpleConversation* purple_conv_im_get_conversation(const(PurpleConvIm)* im); 254 void purple_conv_im_set_icon(PurpleConvIm* im, PurpleBuddyIcon* icon); 255 PurpleBuddyIcon* purple_conv_im_get_icon(const(PurpleConvIm)* im); 256 void purple_conv_im_set_typing_state(PurpleConvIm* im, PurpleTypingState state); 257 PurpleTypingState purple_conv_im_get_typing_state(const(PurpleConvIm)* im); 258 void purple_conv_im_start_typing_timeout(PurpleConvIm* im, int timeout); 259 void purple_conv_im_stop_typing_timeout(PurpleConvIm* im); 260 guint purple_conv_im_get_typing_timeout(const(PurpleConvIm)* im); 261 void purple_conv_im_set_type_again(PurpleConvIm* im, uint val); 262 time_t purple_conv_im_get_type_again(const(PurpleConvIm)* im); 263 void purple_conv_im_start_send_typed_timeout(PurpleConvIm* im); 264 void purple_conv_im_stop_send_typed_timeout(PurpleConvIm* im); 265 guint purple_conv_im_get_send_typed_timeout(const(PurpleConvIm)* im); 266 void purple_conv_im_update_typing(PurpleConvIm* im); 267 void purple_conv_im_write(PurpleConvIm* im, const(char)* who, const(char)* message, PurpleMessageFlags flags, time_t mtime); 268 gboolean purple_conv_present_error(const(char)* who, PurpleAccount* account, const(char)* what); 269 void purple_conv_im_send(PurpleConvIm* im, const(char)* message); 270 void purple_conv_send_confirm(PurpleConversation* conv, const(char)* message); 271 void purple_conv_im_send_with_flags(PurpleConvIm* im, const(char)* message, PurpleMessageFlags flags); 272 gboolean purple_conv_custom_smiley_add(PurpleConversation* conv, const(char)* smile, const(char)* cksum_type, const(char)* chksum, gboolean remote); 273 void purple_conv_custom_smiley_write(PurpleConversation* conv, const(char)* smile, const(guchar)* data, gsize size); 274 void purple_conv_custom_smiley_close(PurpleConversation* conv, const(char)* smile); 275 PurpleConversation* purple_conv_chat_get_conversation(const(PurpleConvChat)* chat); 276 GList* purple_conv_chat_set_users(PurpleConvChat* chat, GList* users); 277 GList* purple_conv_chat_get_users(const(PurpleConvChat)* chat); 278 void purple_conv_chat_ignore(PurpleConvChat* chat, const(char)* name); 279 void purple_conv_chat_unignore(PurpleConvChat* chat, const(char)* name); 280 GList* purple_conv_chat_set_ignored(PurpleConvChat* chat, GList* ignored); 281 GList* purple_conv_chat_get_ignored(const(PurpleConvChat)* chat); 282 const(char)* purple_conv_chat_get_ignored_user(const(PurpleConvChat)* chat, const(char)* user); 283 gboolean purple_conv_chat_is_user_ignored(const(PurpleConvChat)* chat, const(char)* user); 284 void purple_conv_chat_set_topic(PurpleConvChat* chat, const(char)* who, const(char)* topic); 285 const(char)* purple_conv_chat_get_topic(const(PurpleConvChat)* chat); 286 void purple_conv_chat_set_id(PurpleConvChat* chat, int id); 287 int purple_conv_chat_get_id(const(PurpleConvChat)* chat); 288 void purple_conv_chat_write(PurpleConvChat* chat, const(char)* who, const(char)* message, PurpleMessageFlags flags, time_t mtime); 289 void purple_conv_chat_send(PurpleConvChat* chat, const(char)* message); 290 void purple_conv_chat_send_with_flags(PurpleConvChat* chat, const(char)* message, PurpleMessageFlags flags); 291 void purple_conv_chat_add_user(PurpleConvChat* chat, const(char)* user, const(char)* extra_msg, PurpleConvChatBuddyFlags flags, gboolean new_arrival); 292 void purple_conv_chat_add_users(PurpleConvChat* chat, GList* users, GList* extra_msgs, GList* flags, gboolean new_arrivals); 293 void purple_conv_chat_rename_user(PurpleConvChat* chat, const(char)* old_user, const(char)* new_user); 294 void purple_conv_chat_remove_user(PurpleConvChat* chat, const(char)* user, const(char)* reason); 295 void purple_conv_chat_remove_users(PurpleConvChat* chat, GList* users, const(char)* reason); 296 gboolean purple_conv_chat_find_user(PurpleConvChat* chat, const(char)* user); 297 void purple_conv_chat_user_set_flags(PurpleConvChat* chat, const(char)* user, PurpleConvChatBuddyFlags flags); 298 PurpleConvChatBuddyFlags purple_conv_chat_user_get_flags(PurpleConvChat* chat, const(char)* user); 299 void purple_conv_chat_clear_users(PurpleConvChat* chat); 300 void purple_conv_chat_set_nick(PurpleConvChat* chat, const(char)* nick); 301 const(char)* purple_conv_chat_get_nick(PurpleConvChat* chat); 302 PurpleConversation* purple_find_chat(const(PurpleConnection)* gc, int id); 303 void purple_conv_chat_left(PurpleConvChat* chat); 304 void purple_conv_chat_invite_user(PurpleConvChat* chat, const(char)* user, const(char)* message, gboolean confirm); 305 gboolean purple_conv_chat_has_left(PurpleConvChat* chat); 306 PurpleConvChatBuddy* purple_conv_chat_cb_new(const(char)* name, const(char)* alias_, PurpleConvChatBuddyFlags flags); 307 PurpleConvChatBuddy* purple_conv_chat_cb_find(PurpleConvChat* chat, const(char)* name); 308 const(char)* purple_conv_chat_cb_get_name(PurpleConvChatBuddy* cb); 309 void purple_conv_chat_cb_destroy(PurpleConvChatBuddy* cb); 310 GList* purple_conversation_get_extended_menu(PurpleConversation* conv); 311 gboolean purple_conversation_do_command(PurpleConversation* conv, const(gchar)* cmdline, const(gchar)* markup, gchar** error); 312 void* purple_conversations_get_handle(); 313 void purple_conversations_init(); 314 void purple_conversations_uninit(); 315 } 316 } 317 else 318 { 319 extern( C ) nothrow 320 { 321 alias da_purple_conversation_new = PurpleConversation* function(PurpleConversationType type, PurpleAccount* account, const(char)* name); 322 alias da_purple_conversation_destroy = void function(PurpleConversation* conv); 323 alias da_purple_conversation_present = void function(PurpleConversation* conv); 324 alias da_purple_conversation_get_type = PurpleConversationType function(const(PurpleConversation)* conv); 325 alias da_purple_conversation_set_ui_ops = void function(PurpleConversation* conv, PurpleConversationUiOps* ops); 326 alias da_purple_conversations_set_ui_ops = void function(PurpleConversationUiOps* ops); 327 alias da_purple_conversation_get_ui_ops = PurpleConversationUiOps* function(const(PurpleConversation)* conv); 328 alias da_purple_conversation_set_account = void function(PurpleConversation* conv, PurpleAccount* account); 329 alias da_purple_conversation_get_account = PurpleAccount* function(const(PurpleConversation)* conv); 330 alias da_purple_conversation_get_gc = PurpleConnection* function(const(PurpleConversation)* conv); 331 alias da_purple_conversation_set_title = void function(PurpleConversation* conv, const(char)* title); 332 alias da_purple_conversation_get_title = const(char)* function(const(PurpleConversation)* conv); 333 alias da_purple_conversation_autoset_title = void function(PurpleConversation* conv); 334 alias da_purple_conversation_set_name = void function(PurpleConversation* conv, const(char)* name); 335 alias da_purple_conversation_get_name = const(char)* function(const(PurpleConversation)* conv); 336 alias da_purple_conv_chat_cb_get_attribute = const(char)* function(PurpleConvChatBuddy* cb, const(char)* key); 337 alias da_purple_conv_chat_cb_get_attribute_keys = GList* function(PurpleConvChatBuddy* cb); 338 alias da_purple_conv_chat_cb_set_attribute = void function(PurpleConvChat* chat, PurpleConvChatBuddy* cb, const(char)* key, const(char)* value); 339 alias da_purple_conv_chat_cb_set_attributes = void function(PurpleConvChat* chat, PurpleConvChatBuddy* cb, GList* keys, GList* values); 340 alias da_purple_conversation_set_logging = void function(PurpleConversation* conv, gboolean log); 341 alias da_purple_conversation_is_logging = gboolean function(const(PurpleConversation)* conv); 342 alias da_purple_conversation_close_logs = void function(PurpleConversation* conv); 343 alias da_purple_conversation_get_im_data = PurpleConvIm* function(const(PurpleConversation)* conv); 344 alias da_purple_conversation_get_chat_data = PurpleConvChat* function(const(PurpleConversation)* conv); 345 alias da_purple_conversation_set_data = void function(PurpleConversation* conv, const(char)* key, gpointer data); 346 alias da_purple_conversation_get_data = gpointer function(PurpleConversation* conv, const(char)* key); 347 alias da_purple_get_conversations = GList* function(); 348 alias da_purple_get_ims = GList* function(); 349 alias da_purple_get_chats = GList* function(); 350 alias da_purple_find_conversation_with_account = PurpleConversation* function(PurpleConversationType type, const(char)* name, const(PurpleAccount)* account); 351 alias da_purple_conversation_write = void function(PurpleConversation* conv, const(char)* who, const(char)* message, PurpleMessageFlags flags, time_t mtime); 352 alias da_purple_conversation_set_features = void function(PurpleConversation* conv, PurpleConnectionFlags features); 353 alias da_purple_conversation_get_features = PurpleConnectionFlags function(PurpleConversation* conv); 354 alias da_purple_conversation_has_focus = gboolean function(PurpleConversation* conv); 355 alias da_purple_conversation_update = void function(PurpleConversation* conv, PurpleConvUpdateType type); 356 alias da_purple_conversation_foreach = void function(void function (PurpleConversation*) func); 357 alias da_purple_conversation_get_message_history = GList* function(PurpleConversation* conv); 358 alias da_purple_conversation_clear_message_history = void function(PurpleConversation* conv); 359 alias da_purple_conversation_message_get_sender = const(char)* function(PurpleConvMessage* msg); 360 alias da_purple_conversation_message_get_message = const(char)* function(PurpleConvMessage* msg); 361 alias da_purple_conversation_message_get_flags = PurpleMessageFlags function(PurpleConvMessage* msg); 362 alias da_purple_conversation_message_get_timestamp = time_t function(PurpleConvMessage* msg); 363 alias da_purple_conv_im_get_conversation = PurpleConversation* function(const(PurpleConvIm)* im); 364 alias da_purple_conv_im_set_icon = void function(PurpleConvIm* im, PurpleBuddyIcon* icon); 365 alias da_purple_conv_im_get_icon = PurpleBuddyIcon* function(const(PurpleConvIm)* im); 366 alias da_purple_conv_im_set_typing_state = void function(PurpleConvIm* im, PurpleTypingState state); 367 alias da_purple_conv_im_get_typing_state = PurpleTypingState function(const(PurpleConvIm)* im); 368 alias da_purple_conv_im_start_typing_timeout = void function(PurpleConvIm* im, int timeout); 369 alias da_purple_conv_im_stop_typing_timeout = void function(PurpleConvIm* im); 370 alias da_purple_conv_im_get_typing_timeout = guint function(const(PurpleConvIm)* im); 371 alias da_purple_conv_im_set_type_again = void function(PurpleConvIm* im, uint val); 372 alias da_purple_conv_im_get_type_again = time_t function(const(PurpleConvIm)* im); 373 alias da_purple_conv_im_start_send_typed_timeout = void function(PurpleConvIm* im); 374 alias da_purple_conv_im_stop_send_typed_timeout = void function(PurpleConvIm* im); 375 alias da_purple_conv_im_get_send_typed_timeout = guint function(const(PurpleConvIm)* im); 376 alias da_purple_conv_im_update_typing = void function(PurpleConvIm* im); 377 alias da_purple_conv_im_write = void function(PurpleConvIm* im, const(char)* who, const(char)* message, PurpleMessageFlags flags, time_t mtime); 378 alias da_purple_conv_present_error = gboolean function(const(char)* who, PurpleAccount* account, const(char)* what); 379 alias da_purple_conv_im_send = void function(PurpleConvIm* im, const(char)* message); 380 alias da_purple_conv_send_confirm = void function(PurpleConversation* conv, const(char)* message); 381 alias da_purple_conv_im_send_with_flags = void function(PurpleConvIm* im, const(char)* message, PurpleMessageFlags flags); 382 alias da_purple_conv_custom_smiley_add = gboolean function(PurpleConversation* conv, const(char)* smile, const(char)* cksum_type, const(char)* chksum, gboolean remote); 383 alias da_purple_conv_custom_smiley_write = void function(PurpleConversation* conv, const(char)* smile, const(guchar)* data, gsize size); 384 alias da_purple_conv_custom_smiley_close = void function(PurpleConversation* conv, const(char)* smile); 385 alias da_purple_conv_chat_get_conversation = PurpleConversation* function(const(PurpleConvChat)* chat); 386 alias da_purple_conv_chat_set_users = GList* function(PurpleConvChat* chat, GList* users); 387 alias da_purple_conv_chat_get_users = GList* function(const(PurpleConvChat)* chat); 388 alias da_purple_conv_chat_ignore = void function(PurpleConvChat* chat, const(char)* name); 389 alias da_purple_conv_chat_unignore = void function(PurpleConvChat* chat, const(char)* name); 390 alias da_purple_conv_chat_set_ignored = GList* function(PurpleConvChat* chat, GList* ignored); 391 alias da_purple_conv_chat_get_ignored = GList* function(const(PurpleConvChat)* chat); 392 alias da_purple_conv_chat_get_ignored_user = const(char)* function(const(PurpleConvChat)* chat, const(char)* user); 393 alias da_purple_conv_chat_is_user_ignored = gboolean function(const(PurpleConvChat)* chat, const(char)* user); 394 alias da_purple_conv_chat_set_topic = void function(PurpleConvChat* chat, const(char)* who, const(char)* topic); 395 alias da_purple_conv_chat_get_topic = const(char)* function(const(PurpleConvChat)* chat); 396 alias da_purple_conv_chat_set_id = void function(PurpleConvChat* chat, int id); 397 alias da_purple_conv_chat_get_id = int function(const(PurpleConvChat)* chat); 398 alias da_purple_conv_chat_write = void function(PurpleConvChat* chat, const(char)* who, const(char)* message, PurpleMessageFlags flags, time_t mtime); 399 alias da_purple_conv_chat_send = void function(PurpleConvChat* chat, const(char)* message); 400 alias da_purple_conv_chat_send_with_flags = void function(PurpleConvChat* chat, const(char)* message, PurpleMessageFlags flags); 401 alias da_purple_conv_chat_add_user = void function(PurpleConvChat* chat, const(char)* user, const(char)* extra_msg, PurpleConvChatBuddyFlags flags, gboolean new_arrival); 402 alias da_purple_conv_chat_add_users = void function(PurpleConvChat* chat, GList* users, GList* extra_msgs, GList* flags, gboolean new_arrivals); 403 alias da_purple_conv_chat_rename_user = void function(PurpleConvChat* chat, const(char)* old_user, const(char)* new_user); 404 alias da_purple_conv_chat_remove_user = void function(PurpleConvChat* chat, const(char)* user, const(char)* reason); 405 alias da_purple_conv_chat_remove_users = void function(PurpleConvChat* chat, GList* users, const(char)* reason); 406 alias da_purple_conv_chat_find_user = gboolean function(PurpleConvChat* chat, const(char)* user); 407 alias da_purple_conv_chat_user_set_flags = void function(PurpleConvChat* chat, const(char)* user, PurpleConvChatBuddyFlags flags); 408 alias da_purple_conv_chat_user_get_flags = PurpleConvChatBuddyFlags function(PurpleConvChat* chat, const(char)* user); 409 alias da_purple_conv_chat_clear_users = void function(PurpleConvChat* chat); 410 alias da_purple_conv_chat_set_nick = void function(PurpleConvChat* chat, const(char)* nick); 411 alias da_purple_conv_chat_get_nick = const(char)* function(PurpleConvChat* chat); 412 alias da_purple_find_chat = PurpleConversation* function(const(PurpleConnection)* gc, int id); 413 alias da_purple_conv_chat_left = void function(PurpleConvChat* chat); 414 alias da_purple_conv_chat_invite_user = void function(PurpleConvChat* chat, const(char)* user, const(char)* message, gboolean confirm); 415 alias da_purple_conv_chat_has_left = gboolean function(PurpleConvChat* chat); 416 alias da_purple_conv_chat_cb_new = PurpleConvChatBuddy* function(const(char)* name, const(char)* alias_, PurpleConvChatBuddyFlags flags); 417 alias da_purple_conv_chat_cb_find = PurpleConvChatBuddy* function(PurpleConvChat* chat, const(char)* name); 418 alias da_purple_conv_chat_cb_get_name = const(char)* function(PurpleConvChatBuddy* cb); 419 alias da_purple_conv_chat_cb_destroy = void function(PurpleConvChatBuddy* cb); 420 alias da_purple_conversation_get_extended_menu = GList* function(PurpleConversation* conv); 421 alias da_purple_conversation_do_command = gboolean function(PurpleConversation* conv, const(gchar)* cmdline, const(gchar)* markup, gchar** error); 422 alias da_purple_conversations_get_handle = void* function(); 423 alias da_purple_conversations_init = void function(); 424 alias da_purple_conversations_uninit = void function(); 425 } 426 427 __gshared 428 { 429 da_purple_conversation_new purple_conversation_new; 430 da_purple_conversation_destroy purple_conversation_destroy; 431 da_purple_conversation_present purple_conversation_present; 432 da_purple_conversation_get_type purple_conversation_get_type; 433 da_purple_conversation_set_ui_ops purple_conversation_set_ui_ops; 434 da_purple_conversations_set_ui_ops purple_conversations_set_ui_ops; 435 da_purple_conversation_get_ui_ops purple_conversation_get_ui_ops; 436 da_purple_conversation_set_account purple_conversation_set_account; 437 da_purple_conversation_get_account purple_conversation_get_account; 438 da_purple_conversation_get_gc purple_conversation_get_gc; 439 da_purple_conversation_set_title purple_conversation_set_title; 440 da_purple_conversation_get_title purple_conversation_get_title; 441 da_purple_conversation_autoset_title purple_conversation_autoset_title; 442 da_purple_conversation_set_name purple_conversation_set_name; 443 da_purple_conversation_get_name purple_conversation_get_name; 444 da_purple_conv_chat_cb_get_attribute purple_conv_chat_cb_get_attribute; 445 da_purple_conv_chat_cb_get_attribute_keys purple_conv_chat_cb_get_attribute_keys; 446 da_purple_conv_chat_cb_set_attribute purple_conv_chat_cb_set_attribute; 447 da_purple_conv_chat_cb_set_attributes purple_conv_chat_cb_set_attributes; 448 da_purple_conversation_set_logging purple_conversation_set_logging; 449 da_purple_conversation_is_logging purple_conversation_is_logging; 450 da_purple_conversation_close_logs purple_conversation_close_logs; 451 da_purple_conversation_get_im_data purple_conversation_get_im_data; 452 da_purple_conversation_get_chat_data purple_conversation_get_chat_data; 453 da_purple_conversation_set_data purple_conversation_set_data; 454 da_purple_conversation_get_data purple_conversation_get_data; 455 da_purple_get_conversations purple_get_conversations; 456 da_purple_get_ims purple_get_ims; 457 da_purple_get_chats purple_get_chats; 458 da_purple_find_conversation_with_account purple_find_conversation_with_account; 459 da_purple_conversation_write purple_conversation_write; 460 da_purple_conversation_set_features purple_conversation_set_features; 461 da_purple_conversation_get_features purple_conversation_get_features; 462 da_purple_conversation_has_focus purple_conversation_has_focus; 463 da_purple_conversation_update purple_conversation_update; 464 da_purple_conversation_foreach purple_conversation_foreach; 465 da_purple_conversation_get_message_history purple_conversation_get_message_history; 466 da_purple_conversation_clear_message_history purple_conversation_clear_message_history; 467 da_purple_conversation_message_get_sender purple_conversation_message_get_sender; 468 da_purple_conversation_message_get_message purple_conversation_message_get_message; 469 da_purple_conversation_message_get_flags purple_conversation_message_get_flags; 470 da_purple_conversation_message_get_timestamp purple_conversation_message_get_timestamp; 471 da_purple_conv_im_get_conversation purple_conv_im_get_conversation; 472 da_purple_conv_im_set_icon purple_conv_im_set_icon; 473 da_purple_conv_im_get_icon purple_conv_im_get_icon; 474 da_purple_conv_im_set_typing_state purple_conv_im_set_typing_state; 475 da_purple_conv_im_get_typing_state purple_conv_im_get_typing_state; 476 da_purple_conv_im_start_typing_timeout purple_conv_im_start_typing_timeout; 477 da_purple_conv_im_stop_typing_timeout purple_conv_im_stop_typing_timeout; 478 da_purple_conv_im_get_typing_timeout purple_conv_im_get_typing_timeout; 479 da_purple_conv_im_set_type_again purple_conv_im_set_type_again; 480 da_purple_conv_im_get_type_again purple_conv_im_get_type_again; 481 da_purple_conv_im_start_send_typed_timeout purple_conv_im_start_send_typed_timeout; 482 da_purple_conv_im_stop_send_typed_timeout purple_conv_im_stop_send_typed_timeout; 483 da_purple_conv_im_get_send_typed_timeout purple_conv_im_get_send_typed_timeout; 484 da_purple_conv_im_update_typing purple_conv_im_update_typing; 485 da_purple_conv_im_write purple_conv_im_write; 486 da_purple_conv_present_error purple_conv_present_error; 487 da_purple_conv_im_send purple_conv_im_send; 488 da_purple_conv_send_confirm purple_conv_send_confirm; 489 da_purple_conv_im_send_with_flags purple_conv_im_send_with_flags; 490 da_purple_conv_custom_smiley_add purple_conv_custom_smiley_add; 491 da_purple_conv_custom_smiley_write purple_conv_custom_smiley_write; 492 da_purple_conv_custom_smiley_close purple_conv_custom_smiley_close; 493 da_purple_conv_chat_get_conversation purple_conv_chat_get_conversation; 494 da_purple_conv_chat_set_users purple_conv_chat_set_users; 495 da_purple_conv_chat_get_users purple_conv_chat_get_users; 496 da_purple_conv_chat_ignore purple_conv_chat_ignore; 497 da_purple_conv_chat_unignore purple_conv_chat_unignore; 498 da_purple_conv_chat_set_ignored purple_conv_chat_set_ignored; 499 da_purple_conv_chat_get_ignored purple_conv_chat_get_ignored; 500 da_purple_conv_chat_get_ignored_user purple_conv_chat_get_ignored_user; 501 da_purple_conv_chat_is_user_ignored purple_conv_chat_is_user_ignored; 502 da_purple_conv_chat_set_topic purple_conv_chat_set_topic; 503 da_purple_conv_chat_get_topic purple_conv_chat_get_topic; 504 da_purple_conv_chat_set_id purple_conv_chat_set_id; 505 da_purple_conv_chat_get_id purple_conv_chat_get_id; 506 da_purple_conv_chat_write purple_conv_chat_write; 507 da_purple_conv_chat_send purple_conv_chat_send; 508 da_purple_conv_chat_send_with_flags purple_conv_chat_send_with_flags; 509 da_purple_conv_chat_add_user purple_conv_chat_add_user; 510 da_purple_conv_chat_add_users purple_conv_chat_add_users; 511 da_purple_conv_chat_rename_user purple_conv_chat_rename_user; 512 da_purple_conv_chat_remove_user purple_conv_chat_remove_user; 513 da_purple_conv_chat_remove_users purple_conv_chat_remove_users; 514 da_purple_conv_chat_find_user purple_conv_chat_find_user; 515 da_purple_conv_chat_user_set_flags purple_conv_chat_user_set_flags; 516 da_purple_conv_chat_user_get_flags purple_conv_chat_user_get_flags; 517 da_purple_conv_chat_clear_users purple_conv_chat_clear_users; 518 da_purple_conv_chat_set_nick purple_conv_chat_set_nick; 519 da_purple_conv_chat_get_nick purple_conv_chat_get_nick; 520 da_purple_find_chat purple_find_chat; 521 da_purple_conv_chat_left purple_conv_chat_left; 522 da_purple_conv_chat_invite_user purple_conv_chat_invite_user; 523 da_purple_conv_chat_has_left purple_conv_chat_has_left; 524 da_purple_conv_chat_cb_new purple_conv_chat_cb_new; 525 da_purple_conv_chat_cb_find purple_conv_chat_cb_find; 526 da_purple_conv_chat_cb_get_name purple_conv_chat_cb_get_name; 527 da_purple_conv_chat_cb_destroy purple_conv_chat_cb_destroy; 528 da_purple_conversation_get_extended_menu purple_conversation_get_extended_menu; 529 da_purple_conversation_do_command purple_conversation_do_command; 530 da_purple_conversations_get_handle purple_conversations_get_handle; 531 da_purple_conversations_init purple_conversations_init; 532 da_purple_conversations_uninit purple_conversations_uninit; 533 } 534 }